#include <stdio.h>
#include <stdlib.h>


#define F_PRINT_ERR(e)\
do\
{\
    if(e == NULL)\
    {\
        printf("open error\n");\
        exit(-1);\
    }\
}\
while (0)

int main1()
{
    FILE * pf = fopen("a.txt","w+");
    F_PRINT_ERR(pf);
// 1.
//    fputs("qqq\nqqqqqqqq\n",pf);
//    fputs("wwwwwwwwwww\n",pf);
//    fputs("eeeeeeeeeee\n",pf);

//// 2.
//    fputs("qqqqqqqqqqq\n",pf);
//    fputs("wwwwwwwwwww\n",pf);
//    fputs("eeeeeeeeeee\n",pf);

// 3.
    fputs("qqqqqqqqqqq",pf);
    fputs("wwwwwwwwwww",pf);
    fputs("eeeeeeeeeee",pf);

    fclose(pf);
    return 0;
}

// 1. 在去读 n-1 个字符，前遇到了 \n 没有遇到 EOF ，连同 \n 一并读进，并在其后添加了 \0
// 2. 在去读 n-1 既没有遇到 \n 也没有遇到 EOF ，此时就读到了 n-1 个字符，并在其后添加了 \0
// 3.在去读 n-1 没有遇到 \n 但遇到 EOF ，并在其后添加了 \0
int main()
{
    FILE * pf = fopen("a.txt","r");
    F_PRINT_ERR(pf);

    char buf[1024];
    // 1.
//    fgets(buf,1024,pf);
// 2.
//    fgets(buf,2,pf);

// 3.
    fgets(buf,1024,pf);
    printf("buf = %s",buf); //qqqqqqqqqqq\n

    fclose(pf);
    return 0;
}
